import jQuery from 'jquery'

// 自动滚动函数封装
function execution(settings) {
	var wraper = jQuery(settings.outer); //获取最外层目标s
	var img = jQuery(settings.img); //获取小模块元素的父级，也就是内容区
	var box = jQuery(settings.box); //获取内容区的父级，也就是视框
	var w = img.find(settings.tag).outerWidth(true); //获取小模块元素的宽
	var h = img.find(settings.tag).outerHeight(true); //获取小模块元素的高
	var s = settings.speed; //获取移动一个单位的速度
	
	if(img.find(settings.tag).length > settings.row) {
		function next() {
			if(settings.lbtype === 'up') {
				//插入到最后一个，并调用margin负值
				img.animate({
					'margin-top': -img.find(settings.tag).eq(0).height()
				}, function() {
					img.find(settings.tag).eq(0).appendTo(img);
					img.css({
						'margin-top': 0
					});
				});
				resizeHeight();
			} else {
				img.animate({
					'margin-left': -w
				}, function() {
					img.find(settings.tag).eq(0).appendTo(img);
					img.css({
						'margin-left': 0
					});
				});
			}
		}

		function prev() {
			if(settings.lbtype === 'up') {
				//插入到第一个，并调用margin负值
				img.find(settings.tag + ':last').prependTo(img);
				img.css({
					'margin-top': -img.find(settings.tag).eq(0).height()
				});
				img.animate({
					'margin-top': 0
				});
				resizeHeights();
			} else {
				img.find(settings.tag + ':last').prependTo(img);
				img.css({
					'margin-left': -w
				});
				img.animate({
					'margin-left': 0
				});
			}
		}
		
		if(settings.or == true) {
			var adName = setInterval(function() {
				next();
			}, s * 1000);
			wraper.hover(function() {
				clearInterval(adName);
			}, function() {
				adName = setInterval(function() {
					next();
				}, s * 1000);
			});
		}

		function resizeHeight() {
			var height = img.find(settings.tag).eq(1).height() * 10;
			box.stop(true, true).animate({
				"height": height + "px"
			})
		}

		function resizeHeights() {
			var height = img.find(settings.tag).eq(0).height() * 10;
			box.stop(true, true).animate({
				"height": height + "px"
			})
		}
	}
}
export default execution